The latter half of the twentieth century has been witness to a phenomenon known as the information revolution. While the information revolution is a historical development broader in scope than any one event or machine, no single device has come to represent the information revolution more than the digital electronic computer. The development of computer systems has surely been a revolution. Each year, computer systems grow faster, store more data, and provide more applications to their users.
Early computer systems were very expensive and difficult to use, capable of being programmed and manipulated by only a handful of highly-educated specialists. The cost of operating such computers was correspondingly high, and they were therefore used for only the most essential tasks. The dynamic which has driven the information revolution is the sustained reduction in the cost of computing. Thus, information which was too expensive to gather, store and process a few years ago, is now economically feasible to manipulate via computer. The reduced cost of information processing drives increasing productivity in a snowballing effect, because product designs, manufacturing processes, resource scheduling, administrative chores, and many other factors, are made more efficient.
The cost of information processing not only includes the cost of computer hardware and software, but perhaps even more significantly, the cost of human resources devoted to gathering and processing information using computer systems. Improvements to the usability of computer hardware and software reduce the cost of human resources associated with information processing, either by reducing the amount of time directly devoted to a particular task by a human operator (user), or by reducing the level of training required of a user in order to achieve proficiency in performing the task. Continued progress of the information revolution requires still further improvements to the usability of computer systems.
Graphical user interfaces (GUIs) have become standard user interfaces for a variety of software applications. Among the standard features of such GUIs are selectable icons for performing an action, toolbars and the like which offer selections to the user, and pull-down menus which offer still further selections. A common characteristic of all these is that the user may select one action from among multiple actions offered using a pointing device or similar input, without having to type in the name of an action. In theory, this frees the user from the need to remember commands or other selection identifiers.
One conventional form of window in a GUI is a file-based or object-based window from which actions can be selected. I.e., the window displays a listing of files or objects. The window may display collections of files such as folders, subdirectories, etc. The user may select one or more such objects. The user selects actions to perform with respect to the selected object(s) from a toolbar, pull-down menu, pop-up menu, or other means. Such a window may be divided into multiple frames, wherein, e.g., collections of files are displayed in one frame, and the contents of a selected collection of files is displayed in another frame. This type of window is so pervasive that users take it for granted. It may exist as a form of stand-alone application, for supporting file manipulation or launching other operations, as in Microsoft Windows Explorer™. It may also exist within an application for selecting files, e.g., a word processing application may have a pop-up window of this type for selecting a file to be edited.
With the constant search for alternative or improved user interfaces, task-based forms of window interface (often referred to as taskpads) have gained some popularity in recent years. A task-based window follows a different paradigm from that of the traditional file-based window. The task-based window lists a plurality of tasks which a user can perform, from which the user selects a task for execution. Depending on the nature of the task selected and the environment in which the task-based window is operating, the selection of a task may require the user to select a file or files upon which the task should be performed, in which case a pop-up file selection window may appear.
In theory, there are many situations in which a user is likely to think in terms of tasks to be performed, rather than files upon which to work. A taskpad interface lists tasks, which serves as a reminder of things to be done, and provides a more direct form of task navigation. A taskpad interface is therefore a more natural extension of the user's own mind, and for these situations, it may be more natural or easy for a user to work from a taskpad than from a traditional file-based window. It should be understood that the taskpad interface is not intended as a universal replacement for file-based windows; it is simply an alternative interface which some users may find easier to use in some circumstances.
While the taskpad may help some users, there remain drawbacks to its wider use. For one thing, users have used traditional file-based windows for such a long time that changing the paradigm can make some users uncomfortable. But perhaps more fundamentally, there is a chicken-and-egg problem with deciding whether to use file-based windows or taskpads. For most user operations, the user will have to select both a file and a task. Generally, a user can't select a task without having some notion of the file to be processed, and vice-versa. When this is considered, the supposed advantage of taskpads largely evaporates. Whether file-based windows or task-based windows are used, the user must still think in two dimensions about actions and files. The taskpad interface doesn't offer the user any help in the “file” dimension, which may well be where the user needs help the most.
A need exists for yet improved user interfaces which build upon the strengths of the prior art alternatives while minimizing their drawbacks.